doseresNMA antidep/drnma.run.R

#!!!! I didn't run inconsistency, discuss with Georgia

# libraries
library(R2jags)

# functions
source('data.prep.R') # prepare data
source('data.addROB.R')
source('data.addOR.R')
source('data.addFluxdose.R')
source('data.addclass.R')
source('net.structure.R') # jags model format
source('drnma.model.standardRE.R') # standard RE jags model
source('drnma.model.metareg.R') # metareg jags model
source('drnma.model.class.R') # class jags model

# data
antidep <- data.prep()

#-- Model1 - standard RE delta's --
# data
jagsdata_std <- net.structure(data=antidep)

# run model
drnma_RE <- jags.parallel(data = jagsdata_std,
                          inits=NULL,
                          parameters.to.save = c('beta1','beta2','g','tau.d','p.drug','resdev','rhat','totresdev','p.placebo','r','n'),
                          model.file = drnma.standardRE,
                          n.chains=3,n.iter = 10000,n.burnin = 4000,n.thin = 1,
                          DIC=F
                          )
save(drnma_RE,file='drnma_RE')

#-- Model1.2 - standard RE delta's sensitivity konts at 10, 20 and 30 % --
# data
jagsdata_std_sens <- net.structure(data=antidep,knot_probs=c(0.1,0.2,0.3))
# run model
drnma_RE_sens <- jags.parallel(data = jagsdata_std_sens,
                               inits=NULL,
                               parameters.to.save = c('beta1','beta2','g','tau.d','p.drug','resdev','rhat','totresdev','p.placebo','r','n'),
                               model.file = drnma.standardRE,
                               n.chains=3,n.iter = 10000,n.burnin = 4000,n.thin = 1,
                               DIC=F
                               )
save(drnma_RE_sens,file='drnma_RE_sens')

#-- Model2: metareg ROB  --
# data
antidep_rob <- add_rob_study(data=antidep)                # add ROB
jagsdata_rob <- net.structure(data=antidep_rob, # jags format
                              metareg=T,
                              cov.pred=0)  # predictions at low RoB

# run model
drnma_rob <- jags.parallel(data = jagsdata_rob,
                           inits=NULL,
                           parameters.to.save = c('beta1','beta2','g','tau.d','p.drug','resdev','rhat','totresdev','p.placebo','r','n'),
                           model.file = drnma.metareg,
                           n.chains=3,n.iter = 10000,n.burnin = 4000,n.thin = 1,
                           DIC=F
                           )
save(drnma_rob,file='drnma_rob')

#-- Model3: metareg study_year --
#  data
antidep_year <- antidep[!is.na(antidep$study_year),]        # remove NA's
antidep_year$cov <- antidep_year$study_year-2010            # add centralized study_year
jagsdata_year <- net.structure(data=antidep_year,  # jags format
                               metareg=T,
                               cov.pred=0          # predictions at 2010 year
                               ) 
# run model
drnma_year <- jags.parallel(data = jagsdata_year,inits=NULL,
                            parameters.to.save =c('beta1','beta2','g','tau.d','p.drug','resdev','rhat','totresdev','p.placebo','r','n'),
                            model.file = drnma.metareg,
                            n.chains=3,n.iter = 10000,n.burnin = 4000,n.thin = 1,
                            DIC=F)
save(drnma_year,file='drnma_year')

#-- Model4: metareg var logOR (small study effect) --
# data
antidep_var <- add_var(data=antidep)    
cov.pred <- min(antidep_var$selogOR,na.rm = T)^2 
jagsdata_var <- net.structure(data=antidep_var, # jags format
                              metareg=T,
                              cov.pred=cov.pred # predictions at min var
                              )        
# run model
drnma_var <- jags.parallel(data = jagsdata_var,inits=NULL,
                           parameters.to.save =c('beta1','beta2','g','tau.d','p.drug','resdev','rhat','totresdev','p.placebo','r','n'),
                           model.file = drnma.metareg,
                           n.chains=3,n.iter = 10000,n.burnin = 4000,n.thin = 1,
                           DIC=F)
save(drnma_var,file='drnma_var')

#-- Model5: class --
# data
antidep_harmon <- data_with_fluxdose(data=antidep)                    # harmonize the doses
antidep_class <- data_with_class(antidep_harmon)                      # add class
jagsdata_class <- net.structure(data=antidep_class,class.effect = T)  # jags format
# run model
drnma_class<- jags.parallel(data = jagsdata_class,inits=NULL,
                                parameters.to.save = c('beta1','beta2','tau.d','p.drug','dev','rhat','r','n','totresdev','p.placebo','resdev'),
                                model.file = drnma.class,
                                n.chains=3,n.iter = 10000,n.burnin = 4000,n.thin = 1,
                                DIC=F)
save(drnma_class, file='drnma_class')


#-- Model6  Inconsistency --
# run model
drnma_inconsisteny <- jags.parallel(data = jagsdata_std,inits=NULL,
                                    parameters.to.save = c('b1','b2','bb1','bb2','gamma','g','tau','p.drug','dev','rhat','r','n','totresdev','p.placebo'),
                                    model.file = jagsmodelDRnetmeta,
                                    n.chains=3,n.iter = 10000,n.burnin = 4000,DIC=F,n.thin = 1)
save(drnma_inconsisteny,file='drnma_inconsisteny')
htx-r/doseresNMA documentation built on Jan. 28, 2021, 5:32 a.m.